<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mini Vue</title>
</head>

<body>
    <div id="app">
        <h1>差值表达式</h1>
        <h3>{{ msg }}</h3>
        <h3>{{ count }}</h3>
        <h1>v-text</h1>
        <div v-text="msg"></div>
        <h1>v-model</h1>
        <input type="text" v-model="msg">
        <input type="text" v-model="count">
        <h1>v-html</h1>
        <h3 v-html="html"></h3>
        <h1>v-on</h1>
        <button v-on:click="handleClick">点我吧</button>
        <button v-on:mouseenter="handleMouseEnter" v-on:mouseleave="handleMouseLeave">移入变色</button>
    </div>
    <script src="./js/dep.js"></script>
    <script src="./js/watcher.js"></script>
    <script src="./js/compiler.js"></script>
    <script src="./js/observer.js"></script>
    <script src="./js/vue.js"></script>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                msg: 'Hello Vue',
                count: 120,
                person: {
                    age: 180
                },
                html: "<b>Hello<span style='color:red;'> Vue </span></b>"
            },
            methods: {
                handleClick: () => {
                    alert('hello-mini-vue')
                },
                handleMouseEnter: (e) => {
                    e.target.style.color = 'red'
                },
                handleMouseLeave: (e) => {
                    e.target.style.color = 'green'
                }
            }
        })
        console.log(vm.msg);
        // vm.msg = { test: 'OK' }
    </script>
</body>

</html>